/**
 */
package Entityrelationship.entityrelationship.impl;

import Entityrelationship.entityrelationship.*;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;

import org.eclipse.emf.ecore.impl.EFactoryImpl;

import org.eclipse.emf.ecore.plugin.EcorePlugin;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model <b>Factory</b>.
 * <!-- end-user-doc -->
 * @generated
 */
public class EntityrelationshipFactoryImpl extends EFactoryImpl implements EntityrelationshipFactory {
	/**
	 * Creates the default factory implementation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static EntityrelationshipFactory init() {
		try {
			EntityrelationshipFactory theEntityrelationshipFactory = (EntityrelationshipFactory)EPackage.Registry.INSTANCE.getEFactory("http://entityrelationship/1.0"); 
			if (theEntityrelationshipFactory != null) {
				return theEntityrelationshipFactory;
			}
		}
		catch (Exception exception) {
			EcorePlugin.INSTANCE.log(exception);
		}
		return new EntityrelationshipFactoryImpl();
	}

	/**
	 * Creates an instance of the factory.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EntityrelationshipFactoryImpl() {
		super();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public EObject create(EClass eClass) {
		switch (eClass.getClassifierID()) {
			case EntityrelationshipPackage.ENTITY: return createEntity();
			case EntityrelationshipPackage.ATTRIBUTE: return createAttribute();
			case EntityrelationshipPackage.RELATIONSHIP: return createRelationship();
			case EntityrelationshipPackage.ENTITY_RELATIONSHIP_MODEL: return createEntity_Relationship_Model();
			case EntityrelationshipPackage.RELATIONSHIPS_RESTRICTION: return createRelationships_Restriction();
			case EntityrelationshipPackage.ATTRIBUTE_COMPOSITE: return createAttribute_Composite();
			case EntityrelationshipPackage.CONNECTION_ENTITY_RELATIONSHIP: return createConnection_Entity_Relationship();
			case EntityrelationshipPackage.CONNECTION_ERRESTRICTION: return createConnection_E_R_Restriction();
			case EntityrelationshipPackage.GENERALIZATION: return createGeneralization();
			case EntityrelationshipPackage.ENTITY_WEAK: return createEntity_Weak();
			case EntityrelationshipPackage.ENTITY_REGULAR: return createEntity_Regular();
			case EntityrelationshipPackage.ECLASS2: return createEClass2();
			case EntityrelationshipPackage.CERRINCLUSIVENESS: return createC_E_R_R_Inclusiveness();
			case EntityrelationshipPackage.CERREXCLUSIVENESS: return createC_E_R_R_Exclusiveness();
			case EntityrelationshipPackage.RSR_INCLUSION: return createRSR_Inclusion();
			case EntityrelationshipPackage.RSR_EXCLUSION: return createRSR_Exclusion();
			case EntityrelationshipPackage.RREGULAR: return createR_Regular();
			case EntityrelationshipPackage.RWEAK_DEPENDENCE_IN_EXISTENCE: return createR_Weak_dependence_in_existence();
			case EntityrelationshipPackage.RWEAK_DEPENDENCE_IN_IDENTIFICATION: return createR_Weak_dependence_in_identification();
			case EntityrelationshipPackage.GTOTAL_EXCLUSIVE: return createG_Total_Exclusive();
			case EntityrelationshipPackage.GTOTAL_OVERLAPPED: return createG_Total_Overlapped();
			case EntityrelationshipPackage.GPARTIAL_EXCLUSIVE: return createG_Partial_Exclusive();
			case EntityrelationshipPackage.GPARTIAL_OVERLAPPED: return createG_Partial_Overlapped();
			case EntityrelationshipPackage.ACOMPOSITE: return createA_Composite();
			case EntityrelationshipPackage.ANORMAL: return createA_Normal();
			case EntityrelationshipPackage.AMULTIVALUED: return createA_Multivalued();
			case EntityrelationshipPackage.AOPTIONAL: return createA_Optional();
			case EntityrelationshipPackage.ADERIVED: return createA_Derived();
			case EntityrelationshipPackage.ADEP_IN_IDENTIFIC: return createA_Dep_in_identific();
			case EntityrelationshipPackage.ANORMAL_PRIMARY_IDENTIFIER: return createA_Normal_PrimaryIdentifier();
			case EntityrelationshipPackage.ANORMAL_NO_IDENTIFIER: return createA_Normal_NoIdentifier();
			case EntityrelationshipPackage.ANORMAL_ALTERNATIVE_IDENTIFIER: return createA_Normal_AlternativeIdentifier();
			case EntityrelationshipPackage.AMULTIVALUED_NO_IDENTIFIER: return createA_Multivalued_NoIdentifier();
			case EntityrelationshipPackage.AMULTIVALUED_PRIMARY_IDENTIFIER: return createA_Multivalued_PrimaryIdentifier();
			case EntityrelationshipPackage.AMULTIVALUED_ALTERNATIVE_IDENTIFIER: return createA_Multivalued_AlternativeIdentifier();
			case EntityrelationshipPackage.AOPTIONAL_NO_IDENTIFIER: return createA_Optional_NoIdentifier();
			case EntityrelationshipPackage.AOPTIONAL_ALTERNATIVE_IDENTIFIER: return createA_Optional_AlternativeIdentifier();
			case EntityrelationshipPackage.AOPTIONAL_PRIMARY_IDENTIFIER: return createA_Optional_PrimaryIdentifier();
			case EntityrelationshipPackage.ADERIVED_PRIMARY_IDENTIFIER: return createA_Derived_PrimaryIdentifier();
			case EntityrelationshipPackage.ADERIVED_ALTERNATIVE_IDENTIFIER: return createA_Derived_AlternativeIdentifier();
			case EntityrelationshipPackage.ADERIVED_NO_IDENTIFIER: return createA_Derived_NoIdentifier();
			case EntityrelationshipPackage.ADEP_IN_IDENTIFIC_NO_IDENTIFIER: return createA_Dep_in_identific_NoIdentifier();
			case EntityrelationshipPackage.ADEP_IN_IDENTIFIC_PRIMARY_IDENTIFIER: return createA_Dep_in_identific_PrimaryIdentifier();
			case EntityrelationshipPackage.ADEP_IN_IDENTIFIC_ALTERNATIVE_IDENTIFIER: return createA_Dep_in_identific_AlternativeIdentifier();
			case EntityrelationshipPackage.ACOMPOSITE_ALTERNATIVE_IDENTIFIER: return createA_Composite_AlternativeIdentifier();
			case EntityrelationshipPackage.ACOMPOSITE_PRIMARY_IDENTIFIER: return createA_Composite_PrimaryIdentifier();
			case EntityrelationshipPackage.ACOMPOSITE_NO_IDENTIFIER: return createA_Composite_NoIdentifier();
			default:
				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
		}
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public Object createFromString(EDataType eDataType, String initialValue) {
		switch (eDataType.getClassifierID()) {
			case EntityrelationshipPackage.TYPE_ENTITY:
				return createTypeEntityFromString(eDataType, initialValue);
			case EntityrelationshipPackage.TYPE_ATTRIBUTE:
				return createTypeAttributeFromString(eDataType, initialValue);
			case EntityrelationshipPackage.TYPE_IDENTIFIER:
				return createTypeIdentifierFromString(eDataType, initialValue);
			case EntityrelationshipPackage.TYPE_RELATIONSHIP:
				return createTypeRelationshipFromString(eDataType, initialValue);
			case EntityrelationshipPackage.TYPE_RESTRICTION:
				return createTypeRestrictionFromString(eDataType, initialValue);
			case EntityrelationshipPackage.TYPE_RESTRICTION2:
				return createTypeRestriction2FromString(eDataType, initialValue);
			case EntityrelationshipPackage.TYPE_RESTRICTION_INHERITANCE1:
				return createTypeRestrictionInheritance1FromString(eDataType, initialValue);
			case EntityrelationshipPackage.TYPE_RESTRICTION_INHERITANCE2:
				return createTypeRestrictionInheritance2FromString(eDataType, initialValue);
			default:
				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
		}
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public String convertToString(EDataType eDataType, Object instanceValue) {
		switch (eDataType.getClassifierID()) {
			case EntityrelationshipPackage.TYPE_ENTITY:
				return convertTypeEntityToString(eDataType, instanceValue);
			case EntityrelationshipPackage.TYPE_ATTRIBUTE:
				return convertTypeAttributeToString(eDataType, instanceValue);
			case EntityrelationshipPackage.TYPE_IDENTIFIER:
				return convertTypeIdentifierToString(eDataType, instanceValue);
			case EntityrelationshipPackage.TYPE_RELATIONSHIP:
				return convertTypeRelationshipToString(eDataType, instanceValue);
			case EntityrelationshipPackage.TYPE_RESTRICTION:
				return convertTypeRestrictionToString(eDataType, instanceValue);
			case EntityrelationshipPackage.TYPE_RESTRICTION2:
				return convertTypeRestriction2ToString(eDataType, instanceValue);
			case EntityrelationshipPackage.TYPE_RESTRICTION_INHERITANCE1:
				return convertTypeRestrictionInheritance1ToString(eDataType, instanceValue);
			case EntityrelationshipPackage.TYPE_RESTRICTION_INHERITANCE2:
				return convertTypeRestrictionInheritance2ToString(eDataType, instanceValue);
			default:
				throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
		}
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Entity createEntity() {
		EntityImpl entity = new EntityImpl();
		return entity;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Attribute createAttribute() {
		AttributeImpl attribute = new AttributeImpl();
		return attribute;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Relationship createRelationship() {
		RelationshipImpl relationship = new RelationshipImpl();
		return relationship;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Entity_Relationship_Model createEntity_Relationship_Model() {
		Entity_Relationship_ModelImpl entity_Relationship_Model = new Entity_Relationship_ModelImpl();
		return entity_Relationship_Model;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Relationships_Restriction createRelationships_Restriction() {
		Relationships_RestrictionImpl relationships_Restriction = new Relationships_RestrictionImpl();
		return relationships_Restriction;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Attribute_Composite createAttribute_Composite() {
		Attribute_CompositeImpl attribute_Composite = new Attribute_CompositeImpl();
		return attribute_Composite;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Connection_Entity_Relationship createConnection_Entity_Relationship() {
		Connection_Entity_RelationshipImpl connection_Entity_Relationship = new Connection_Entity_RelationshipImpl();
		return connection_Entity_Relationship;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Connection_E_R_Restriction createConnection_E_R_Restriction() {
		Connection_E_R_RestrictionImpl connection_E_R_Restriction = new Connection_E_R_RestrictionImpl();
		return connection_E_R_Restriction;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Generalization createGeneralization() {
		GeneralizationImpl generalization = new GeneralizationImpl();
		return generalization;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Entity_Weak createEntity_Weak() {
		Entity_WeakImpl entity_Weak = new Entity_WeakImpl();
		return entity_Weak;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public Entity_Regular createEntity_Regular() {
		Entity_RegularImpl entity_Regular = new Entity_RegularImpl();
		return entity_Regular;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass2 createEClass2() {
		EClass2Impl eClass2 = new EClass2Impl();
		return eClass2;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public C_E_R_R_Inclusiveness createC_E_R_R_Inclusiveness() {
		C_E_R_R_InclusivenessImpl c_E_R_R_Inclusiveness = new C_E_R_R_InclusivenessImpl();
		return c_E_R_R_Inclusiveness;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public C_E_R_R_Exclusiveness createC_E_R_R_Exclusiveness() {
		C_E_R_R_ExclusivenessImpl c_E_R_R_Exclusiveness = new C_E_R_R_ExclusivenessImpl();
		return c_E_R_R_Exclusiveness;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public RSR_Inclusion createRSR_Inclusion() {
		RSR_InclusionImpl rsR_Inclusion = new RSR_InclusionImpl();
		return rsR_Inclusion;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public RSR_Exclusion createRSR_Exclusion() {
		RSR_ExclusionImpl rsR_Exclusion = new RSR_ExclusionImpl();
		return rsR_Exclusion;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public R_Regular createR_Regular() {
		R_RegularImpl r_Regular = new R_RegularImpl();
		return r_Regular;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public R_Weak_dependence_in_existence createR_Weak_dependence_in_existence() {
		R_Weak_dependence_in_existenceImpl r_Weak_dependence_in_existence = new R_Weak_dependence_in_existenceImpl();
		return r_Weak_dependence_in_existence;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public R_Weak_dependence_in_identification createR_Weak_dependence_in_identification() {
		R_Weak_dependence_in_identificationImpl r_Weak_dependence_in_identification = new R_Weak_dependence_in_identificationImpl();
		return r_Weak_dependence_in_identification;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public G_Total_Exclusive createG_Total_Exclusive() {
		G_Total_ExclusiveImpl g_Total_Exclusive = new G_Total_ExclusiveImpl();
		return g_Total_Exclusive;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public G_Total_Overlapped createG_Total_Overlapped() {
		G_Total_OverlappedImpl g_Total_Overlapped = new G_Total_OverlappedImpl();
		return g_Total_Overlapped;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public G_Partial_Exclusive createG_Partial_Exclusive() {
		G_Partial_ExclusiveImpl g_Partial_Exclusive = new G_Partial_ExclusiveImpl();
		return g_Partial_Exclusive;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public G_Partial_Overlapped createG_Partial_Overlapped() {
		G_Partial_OverlappedImpl g_Partial_Overlapped = new G_Partial_OverlappedImpl();
		return g_Partial_Overlapped;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Composite createA_Composite() {
		A_CompositeImpl a_Composite = new A_CompositeImpl();
		return a_Composite;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Normal createA_Normal() {
		A_NormalImpl a_Normal = new A_NormalImpl();
		return a_Normal;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Multivalued createA_Multivalued() {
		A_MultivaluedImpl a_Multivalued = new A_MultivaluedImpl();
		return a_Multivalued;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Optional createA_Optional() {
		A_OptionalImpl a_Optional = new A_OptionalImpl();
		return a_Optional;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Derived createA_Derived() {
		A_DerivedImpl a_Derived = new A_DerivedImpl();
		return a_Derived;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Dep_in_identific createA_Dep_in_identific() {
		A_Dep_in_identificImpl a_Dep_in_identific = new A_Dep_in_identificImpl();
		return a_Dep_in_identific;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Normal_PrimaryIdentifier createA_Normal_PrimaryIdentifier() {
		A_Normal_PrimaryIdentifierImpl a_Normal_PrimaryIdentifier = new A_Normal_PrimaryIdentifierImpl();
		return a_Normal_PrimaryIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Normal_NoIdentifier createA_Normal_NoIdentifier() {
		A_Normal_NoIdentifierImpl a_Normal_NoIdentifier = new A_Normal_NoIdentifierImpl();
		return a_Normal_NoIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Normal_AlternativeIdentifier createA_Normal_AlternativeIdentifier() {
		A_Normal_AlternativeIdentifierImpl a_Normal_AlternativeIdentifier = new A_Normal_AlternativeIdentifierImpl();
		return a_Normal_AlternativeIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Multivalued_NoIdentifier createA_Multivalued_NoIdentifier() {
		A_Multivalued_NoIdentifierImpl a_Multivalued_NoIdentifier = new A_Multivalued_NoIdentifierImpl();
		return a_Multivalued_NoIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Multivalued_PrimaryIdentifier createA_Multivalued_PrimaryIdentifier() {
		A_Multivalued_PrimaryIdentifierImpl a_Multivalued_PrimaryIdentifier = new A_Multivalued_PrimaryIdentifierImpl();
		return a_Multivalued_PrimaryIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Multivalued_AlternativeIdentifier createA_Multivalued_AlternativeIdentifier() {
		A_Multivalued_AlternativeIdentifierImpl a_Multivalued_AlternativeIdentifier = new A_Multivalued_AlternativeIdentifierImpl();
		return a_Multivalued_AlternativeIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Optional_NoIdentifier createA_Optional_NoIdentifier() {
		A_Optional_NoIdentifierImpl a_Optional_NoIdentifier = new A_Optional_NoIdentifierImpl();
		return a_Optional_NoIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Optional_AlternativeIdentifier createA_Optional_AlternativeIdentifier() {
		A_Optional_AlternativeIdentifierImpl a_Optional_AlternativeIdentifier = new A_Optional_AlternativeIdentifierImpl();
		return a_Optional_AlternativeIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Optional_PrimaryIdentifier createA_Optional_PrimaryIdentifier() {
		A_Optional_PrimaryIdentifierImpl a_Optional_PrimaryIdentifier = new A_Optional_PrimaryIdentifierImpl();
		return a_Optional_PrimaryIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Derived_PrimaryIdentifier createA_Derived_PrimaryIdentifier() {
		A_Derived_PrimaryIdentifierImpl a_Derived_PrimaryIdentifier = new A_Derived_PrimaryIdentifierImpl();
		return a_Derived_PrimaryIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Derived_AlternativeIdentifier createA_Derived_AlternativeIdentifier() {
		A_Derived_AlternativeIdentifierImpl a_Derived_AlternativeIdentifier = new A_Derived_AlternativeIdentifierImpl();
		return a_Derived_AlternativeIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Derived_NoIdentifier createA_Derived_NoIdentifier() {
		A_Derived_NoIdentifierImpl a_Derived_NoIdentifier = new A_Derived_NoIdentifierImpl();
		return a_Derived_NoIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Dep_in_identific_NoIdentifier createA_Dep_in_identific_NoIdentifier() {
		A_Dep_in_identific_NoIdentifierImpl a_Dep_in_identific_NoIdentifier = new A_Dep_in_identific_NoIdentifierImpl();
		return a_Dep_in_identific_NoIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Dep_in_identific_PrimaryIdentifier createA_Dep_in_identific_PrimaryIdentifier() {
		A_Dep_in_identific_PrimaryIdentifierImpl a_Dep_in_identific_PrimaryIdentifier = new A_Dep_in_identific_PrimaryIdentifierImpl();
		return a_Dep_in_identific_PrimaryIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Dep_in_identific_AlternativeIdentifier createA_Dep_in_identific_AlternativeIdentifier() {
		A_Dep_in_identific_AlternativeIdentifierImpl a_Dep_in_identific_AlternativeIdentifier = new A_Dep_in_identific_AlternativeIdentifierImpl();
		return a_Dep_in_identific_AlternativeIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Composite_AlternativeIdentifier createA_Composite_AlternativeIdentifier() {
		A_Composite_AlternativeIdentifierImpl a_Composite_AlternativeIdentifier = new A_Composite_AlternativeIdentifierImpl();
		return a_Composite_AlternativeIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Composite_PrimaryIdentifier createA_Composite_PrimaryIdentifier() {
		A_Composite_PrimaryIdentifierImpl a_Composite_PrimaryIdentifier = new A_Composite_PrimaryIdentifierImpl();
		return a_Composite_PrimaryIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public A_Composite_NoIdentifier createA_Composite_NoIdentifier() {
		A_Composite_NoIdentifierImpl a_Composite_NoIdentifier = new A_Composite_NoIdentifierImpl();
		return a_Composite_NoIdentifier;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TypeEntity createTypeEntityFromString(EDataType eDataType, String initialValue) {
		TypeEntity result = TypeEntity.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTypeEntityToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TypeAttribute createTypeAttributeFromString(EDataType eDataType, String initialValue) {
		TypeAttribute result = TypeAttribute.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTypeAttributeToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TypeIdentifier createTypeIdentifierFromString(EDataType eDataType, String initialValue) {
		TypeIdentifier result = TypeIdentifier.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTypeIdentifierToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TypeRelationship createTypeRelationshipFromString(EDataType eDataType, String initialValue) {
		TypeRelationship result = TypeRelationship.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTypeRelationshipToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TypeRestriction createTypeRestrictionFromString(EDataType eDataType, String initialValue) {
		TypeRestriction result = TypeRestriction.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTypeRestrictionToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TypeRestriction2 createTypeRestriction2FromString(EDataType eDataType, String initialValue) {
		TypeRestriction2 result = TypeRestriction2.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTypeRestriction2ToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TypeRestrictionInheritance1 createTypeRestrictionInheritance1FromString(EDataType eDataType, String initialValue) {
		TypeRestrictionInheritance1 result = TypeRestrictionInheritance1.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTypeRestrictionInheritance1ToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public TypeRestrictionInheritance2 createTypeRestrictionInheritance2FromString(EDataType eDataType, String initialValue) {
		TypeRestrictionInheritance2 result = TypeRestrictionInheritance2.get(initialValue);
		if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
		return result;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String convertTypeRestrictionInheritance2ToString(EDataType eDataType, Object instanceValue) {
		return instanceValue == null ? null : instanceValue.toString();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EntityrelationshipPackage getEntityrelationshipPackage() {
		return (EntityrelationshipPackage)getEPackage();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @deprecated
	 * @generated
	 */
	@Deprecated
	public static EntityrelationshipPackage getPackage() {
		return EntityrelationshipPackage.eINSTANCE;
	}

} //EntityrelationshipFactoryImpl
